1. Field of the Invention
The present invention relates to relational databases and database engines, and more particularly provides a system and method for using a relational database to enable the dynamic configuration of an application program, and even more particularly as it relates to the health care industry.
2. Description of the Related Art
Relational databases store information in tables which are linked together using key fields. Accordingly, a first table may contain a list of available menu items, for example, Item A, Item B and Item C. Additional tables, which correspond to the first table using the menu items as key fields, may contain lists of menu item fields. That is, Item A may correspond to a second table which contains Field A and Field B, Item B may correspond to a third table which contains Field C and Field D, and Item C may correspond to a fourth table which contains Field E and Field F. The purpose of menu Item A may relate to maintaining information on individual patients, the purpose of Field A may relate to maintaining the individual patient's name, and the purpose of Field B may relate to maintaining the individual client's social security number. It will be appreciated that the second table may include other fields relating to Item A, such as birth date, birth location, height, weight, etc. The patient information entered related to each of the fields for a particular menu item is referred to as a "record." For example, the information such as name, social security number, etc. relating to the individual patient is collectively a first record.
A database engine enables a user to peruse through the relational database and enables a user to apply search parameters or indexes to locate desired information in the relational database. Using the perusal search technique, the database engine retrieves the menu items and based upon its configuration specifies, for example, the appearance of the user interface, i.e., the font, color, size and location, the technique for selecting a menu item such as Item A, etc. Upon selection of a menu item, the database engine enables a user to view, select and modify each of the fields contained in the second table, namely, Field A and Field B, as specified by its particular configuration. For simplicity, each of viewing, adding, selecting, editing, etc. is referred to as "manipulating."
Using the parametric search technique, the database engine uses its particular configuration to prompt the user for parameters indicating a desired group of menu items (such as the menu items created after a particular date). The database engine compares the menu items and the fields of each menu item contained in the relational database against the selected parameters and generates the search results. Similar to the perusal technique, the database engine displays the results to the user also based on its particular configuration.
Using the indexing technique, the database engine need not perform a search, but need only locate the proper index identifying the grouping of menu items and fields desired. Again, the database engine enables the manipulation of items, fields and records according to the particular configuration of the database engine.
Regardless of the technique being used, the database engine manipulates records according to the predetermined configuration of the database engine. That is, the database engine is preset to display the data onto the display according to the font, color, organization, etc. as indicated by the database engine program. In order to modify the configuration characteristics of the database engine, the programmer must modify the database engine program itself. However, this is quite cumbersome process and takes a significant amount of time. Thus, manufacturers have avoided customizing application programs and in particular database engines. Therefore, a system and method are needed for using relational databases to dynamically configure an application program easily.